/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jse;

import java.math.BigDecimal;
import util.MathUtil;

/**
 *
 * @author WangShuai
 */
public class BigDecimalTest {

    public static void main(String[] args) {
        /*构造函数的不同*/
        //利用double作为参数的构造函数，无法精确构造一个BigDecimal对象，需要自己指定一个上下文的环境，也就是指定精确位。
        //而利用String对象作为参数传入的构造函数能精确的构造出一个BigDecimal对象。
//        BigDecimal bd = new BigDecimal("10.123");
//        BigDecimal bd1 = new BigDecimal(10.123);
//        System.out.println("String : " + bd);
//        System.out.println("Double : " + bd1);
//
//
//        //ava中的简单浮点数类型float和double不能够进行运算
//        System.out.println("0.9="+(1.0 - 0.1));
//        System.out.println("0.8="+(1.0 - 0.2));
//        System.out.println("0.7="+(1.0 - 0.3));
//        System.out.println("0.6="+(1.0 - 0.4));
//        System.out.println("0.5="+(1.0 - 0.5));
//        System.out.println("0.4="+(1.0 - 0.6));
//        System.out.println("0.3="+(1.0 - 0.7));
//        System.out.println("0.2="+(1.0 - 0.8));
//        System.out.println("0.1="+Math.round(1.0 - 0.9));
//        System.out.println("0.1="+(1.0 - 0.9));
//        System.out.println(123.3/100);
//        System.out.println(4.015*100);
//
//        System.out.println(MathUtil.sub(1.0, 0.9));
//        System.out.println(MathUtil.div(123.3, 100));
//        System.out.println(MathUtil.mul(4.015, 100));
//        
//        BigDecimal bd3 = new BigDecimal("100");
//        BigDecimal bd4 = new BigDecimal("6.57");
//        BigDecimal bd5 = bd3.divide(bd4, 2, BigDecimal.ROUND_HALF_UP);
//        BigDecimal bd6 = bd5.multiply(bd4);
//        System.out.println(bd6.doubleValue());
        
//        BigDecimal bd = new BigDecimal("100000").stripTrailingZeros();
//        System.out.println(bd.toString()); //1E+5
//        System.out.println(bd.toPlainString()); //100000
//        System.out.println(bd.toEngineeringString()); //100E+3
        System.out.println(new BigDecimal(50).multiply(new BigDecimal(50)).divide(new BigDecimal(100)));
        
    }
}
